home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
7
/
pcbl203.zip
/
PCBLIST2.DOC
< prev
next >
Wrap
Text File
|
1990-05-05
|
9KB
|
217 lines
Page 1 PCBLIST2.DOC
PCBList2
PCBoard Directory Compilation Program
by MidWest BBS
PROLOGUE
A couple of years ago I wrote a very popular program which gathered
specified PCBoard DIR files and created two lists, one sorted by date
and one alphabetical, of all the files. Many Sysops around the country
use it in their event every day to create the lists for downloading.
Frankly, if you don't need the multi-line features of the new program
there is little reason to change.
This new revision is the direct result of the implementation of multi-line
file descriptions implemented in PCBoard 14.0. Originally, I personally
didn't care for them, but as time has passed I have begun to appreciate
the utility they bring (if not overdone!). As I recoded the program, I
tweaked it here and there and made it smarter in locating files etc.
Also, it's a lot prettier (WHO CARES!). Frankly, the logic to recognize
and anticipate the variations for multiple line descriptions was a bigger
job than I expected. Hopefully, most variations will be accomodated -
only time will tell.
LICENSE
You are free to do anything you please with this program - use it, sell it
(good luck), ignore it or line the bird cage. Just remember, I'm no
programmer, Samuel Smith is a programmer. So, use it at your own risk.
I've tried to make the screens as informative as possible as to what is
going on and will further explain it in the documentation. If you can use
it, feel free to do so.
SET UP
I hate configuration files! My disk is littered with cfg, cnf, dat etc.
Well, here's one more. There was no way that I could maintain the
flexibility that I felt was necessary and avoid it. Possibly the answer
lies in a self-modifying program like QEDit, but even that approach has
its drawbacks. Directly reading the PCBoard.Dat and CNames files totally
destroys the flexibility I wanted. Enough explanation.
Incidentally, for those running the original PCBList, there is no change
in the format and structure of the configuration file. Just use it the
way it is (You're welcome).
When PCBList2 starts, it looks for the configuration file used on the
command line. If there is none, it will search for a file named
PCBList.Ctl. The command line option is really there to allow multiple
configurations for specialized lists (by conference, topic etc). The
configuration file looks like this:
Page 2 PCBLIST2.DOC
MidWest BBS - Illinois' Professional Bulletin Board
24 Hours per Day 300/1200/2400/9600(HST) Baud
(708) 513-1034
E:midwest.lst
E:midsort.lst
10
c:\pcb\gen\dir1
c:\pcb\gen\dir2
c:\pcb\gen\dir3
c:\pcb\gen\dir4
c:\pcb\gen\dir5
c:\pcb\gen\dir6
c:\pcb\gen\dir7
c:\pcb\gen\dir8
c:\pcb\gen\dir9
c:\pcb\gen\dir10
The first three lines are any B.S. you want to put at the top of the
listing. Each line is limited to 78 characters and will be centered when
the program is run.
Line 4 is the name (including path if you wish) of the list which will be
sorted alphabetically. Enter "NONE" (no quotes) if you do not wish to
create the Alpha listing.
Line 5 is the name of the list sorted by date. Enter "NONE" (no quotes)
if you do not wish to create the Date listing.
Line 6 is the total number of directories to be scanned. This is limited
to 200. This is a, somewhat, arbitrary limitation and if anyone needs more
capacity let me know.
Line 7 begins the DIRs to scan - one per line.
RUNNING PCBLIST2
Since the whole program was designed to be run in the event, there is
really nothing left to do except sit back and watch. Most errors will be
trapped and shown on the screen. Let me know if there are any problems.
The output file looks like this:
MidWest BBS - Illinois' Professional Bulletin Board
24 Hours per Day 300/1200/2400/9600(HST) Baud
(708) 513-1034
There are 7,553 files totalling 294,069,244 bytes available
This list prepared on Tuesday, January 31, 1989 at 5:05 A.M.
============ ====== ======== =============================================
Name Size Date Description
============ ====== ======== =============================================
By the way, I haven't got 7,553 files on the BBS. This is just the output
from one of the tests I made. The technical limit on the number of files
is over 30,000, but at about 12,000 files there is substantial degradation
Page 3 PCBLIST2.DOC
HOW IT WORKS
When PCBList2 is first started it searches for the configuration file in
the current directory, then in the directory where PCBList.Exe resides, if
different (under DOS 3.0 and greater) and then through the defined Path.
If the file is not found by this time, it gives up and quietly dies after
letting you know what happened. The only error that isn't trapped, as
far as I know, is if the stated configuration file is a binary file or
directory, it will barf and terminate with a runtime error.
File descriptions are accumulated in two files, "MWNEW.189" and "SEC.189",
The first file is for all of the primary descriptions and will be
approximately 40% larger than the total of the DIRs being scanned. The
other file contains the secondary file descriptions. Both files are erased
when the program terminates, but please make sure that you have sufficient
disk space for them in the current directory (or ram disk if you wish).
PCBList2 will search for the DIR files in the same manner it looks for the
configuration files. Everything is stripped from the DIRs with the
exception of primary and secondary descriptions, e.g. headers etc.
The sorting is done using Borland's Turbo Sort routine. After using other
methods, I came back to this for one primary reason - virtual memory.
This effectively eliminates memory constraints from the sorting process.
Unless you have a huge number of files or very limited memory, it will
probably never be necessary for a "spill file" to be created, especially
since the portion of the description being passed to the sort is much more
efficient than the prior versions, but the capability is there.
COME ON DOWN
Sysops are always welcome at MidWest BBS. Just leave me a note and let me
know who you are and your access will be upgraded. A word of warning - I
travel a good bit the early part of the year, so it might be several
days before the increased access is entered. PCBList2 is available to
everyone though. While you're on MidWest, please check out DOOR #7,
Chuck-A-Luck. It's under construction and I would appreciate any
comments, suggestions etc. - it only takes a couple of minutes to play.
Steve Mills, SYSOP
Last Minute Addition : DRAT! Somewhere around here I must have a simple
program to format ASCII files for a printer, but where! Anyway, if anyone
else needs it, there is a file in the archive called FORPRINT.EXE. Just
enter the name of the file you want formatted and the name of the output
file to be created on the command line. Page length is set at 59, so
those lucky soles with laser printers can get usable output. Run FORPRINT
without anything on the command line for instructions. The same license
applies to FORPRINT as stated for PCBList2.
Page 4 PCBLIST2.DOC
Acknowledgements:
PCBoard is Copyright of Clark Development Co.
The Technical Crap:
For those that are interested, Units from Turbo Power's "Turbo
Professional" and Bob Ainsbury's "Technojock's Turbo Toolkit" were
used, as well as the sort routine from Borland's Database Toolbox.
Both TPro and TTT have recently been upgraded and I highly recommend the
purchase of either or both if you do much programming in Turbo Pascal.
After trying a number of Turbo Pascal tools, there is little doubt in my
mind that these offer the best functionality, documentation and bang
for the buck.
Also, I can't imagine anyone writing a PCBoard utility without, in some
fashion, relying on the incredible work of Sam Smith. His concise, well
documented code is indispensible when working with PCBoard files (and many
other things for that matter). Thanks Sam!
Revision History:
2.01 Minor cosmetic changes and speed enhancements.
2.02 Well it happened - Someone (Philip Stults) needed more than 50
DIRS, so it now accomodates 200. This should be sufficient for a
while.
2.03 Some Sysops only wished to create the Alpha or Date listings. By
entering "NONE" on the proper line of the configuration file this
can now be accomplished. Also, some minor internal changes.